home *** CD-ROM | disk | FTP | other *** search
/ Amiga CD-Sensation: Golden Games / Amiga CD-Sensation - Ausgabe 2 - Golden Games (1996)(GTI - Schatztruhe)(DE)[!].iso / Brain Activity / 10000 / src / gwin.user.h < prev   
C/C++ Source or Header  |  1995-12-06  |  9KB  |  214 lines

  1. /*******************************************************/
  2. /*                                                     */
  3. /* GWIN INCLUDE FILE                                   */
  4. /*                                                     */
  5. /*******************************************************/
  6. #define _USEOLDEXEC_
  7. #include <exec/types.h>
  8. #include <proto/exec.h>
  9. #include <graphics/gfxbase.h>
  10. #include <graphics/display.h>
  11. #include <graphics/regions.h>
  12. #include <graphics/gfx.h>
  13. #include <graphics/gfxmacros.h>
  14. #include <intuition/intuitionbase.h>
  15. #include <intuition/intuition.h>
  16. #include <exec/memory.h>
  17. #include <hardware/custom.h>
  18. #include <hardware/dmabits.h>
  19. #include <libraries/dos.h>
  20. #include <libraries/diskfont.h>
  21. #include <devices/audio.h>
  22. #include <math.h>
  23.  
  24. #define SCR_MAX 1
  25. #define WIN_MAX 1
  26. #define MAXVECTORS 1000
  27. /* 640 x 400 / 8  (page 230 Mortimore) */
  28. #define RASTERSIZE 32000
  29.  
  30. #define USTART(a,b,c,d,e)  { if(!OpenGWINBase()) {                     \
  31.                                 printf("Can't open GWIN.library.\n");  \
  32.                                 printf("Exiting.\n");                  \
  33.                                 exit(1);                               \
  34.                              }                                         \
  35.                              G = ustart( (a),(b),(c),(d),(e) );        \
  36.                              GfxBase = G->GfxBase;                     \
  37.                              IntuitionBase = G->IntuitionBase;         \
  38.                              DiskfontBase = G->DiskfontBase;           \
  39.                              rport1 = G->rport1;                       \
  40.                              win[0] = G->win[0];                       \
  41.                              scr[0] = G->scr[0];                       }
  42.  
  43. #define UEND()             { uend(G);                                  \
  44.                              CloseGWINBase();                          }
  45. /*
  46.  
  47. extern short Enable_Abort;
  48.  
  49. */
  50.  
  51. /*******************************************************/
  52. /*                                                     */
  53. /* GLOBAL VARIABLES                                    */
  54. /*                                                     */
  55. /*******************************************************/
  56.  
  57. struct G_user_subset {
  58.    struct RastPort *rport1;
  59.    struct Window *win[WIN_MAX];
  60.    struct Screen *scr[SCR_MAX];
  61.  
  62.    struct GfxBase *GfxBase;
  63.    struct IntuitionBase *IntuitionBase;
  64.    struct DiskfontBase *DiskfontBase;
  65. } *G;
  66.  
  67. struct RastPort *rport1;
  68. struct Window *win[WIN_MAX];
  69. struct Screen *scr[SCR_MAX];
  70.  
  71. struct GfxBase *GfxBase;
  72. struct IntuitionBase *IntuitionBase;
  73. struct DiskfontBase *DiskfontBase;
  74.  
  75.  
  76. /*******************************************************/
  77. /*                                                     */
  78. /* STRUCTURE DEFINITIONS                               */
  79. /*                                                     */
  80. /*******************************************************/
  81.  
  82. struct G_user_subset *ustart(char *c, float x1, float x2,
  83.                                       float y1, float y2);
  84.  
  85. struct GWINBase *GWINBase = 0L;
  86.  
  87. BOOL OpenGWINBase(void)
  88. {
  89.         GWINBase=(struct GWINBase *)OpenLibrary("GWIN.library",1L);
  90.         if(GWINBase) {
  91.          return(TRUE);
  92.          }
  93.         else {
  94.          return(FALSE);
  95.          }
  96. }
  97.  
  98. void CloseGWINBase(void)
  99. {
  100.         if(GWINBase) CloseLibrary((struct Library *)GWINBase);
  101.         GWINBase=0L;
  102. }
  103.  
  104. struct uuevent {
  105.    ULONG event;
  106.    char key;
  107. } uuev;
  108.  
  109. /*******************************************************/
  110. /*                                                     */
  111. /* FUNCTION PROTOTYPES                                 */
  112. /*                                                     */
  113. /*******************************************************/
  114.  
  115. extern struct G_user_subset *ustart(char *c, float x1, float x2,
  116.                                                 float y1, float y2);
  117. extern int udarea(struct G_user_subset *G, float x1, float x2,
  118.                                            float y1, float y2);
  119. extern int uwindo(struct G_user_subset *G, float xmin, float xmax,
  120.                                            float ymin, float ymax);
  121. extern int uoutln(struct G_user_subset *G);
  122. extern int uerase(struct G_user_subset *G);
  123. extern int uflush(struct G_user_subset *G);
  124. extern int uwhere(struct G_user_subset *G, float *x, float *y);
  125. extern int uadjust(struct G_user_subset *G, float x, float y,
  126.                                             float *xa, float *ya);
  127. extern int urotate(struct G_user_subset *G, float x, float y, float theta);
  128. extern int ugrin(struct G_user_subset *G, float *x, float *y);
  129. extern int ugrinc(struct G_user_subset *G, float *x, float *y,
  130.                                            struct uuevent *uuev);
  131. extern int ugrinl(struct G_user_subset *G, float *x, float *y,
  132.                                            struct uuevent *uuev);
  133. extern int ugrina(struct G_user_subset *G, float *x, float *y,
  134.                                            struct uuevent *uuev);
  135. extern int uigrina(struct G_user_subset *G, int *ix, int *iy,
  136.                                            struct uuevent *uuev);
  137. extern int uyorn(struct G_user_subset *G, char *bodytext,
  138.                  char *positivetext, char *negativetext, float width,
  139.                  float height);
  140. extern int uimove(struct G_user_subset *G, int ix, int iy);
  141. extern int uidraw(struct G_user_subset *G, int ix, int iy);
  142. extern int umove(struct G_user_subset *G, float x, float y);
  143. extern int udraw(struct G_user_subset *G, float x, float y);
  144. extern int urect(struct G_user_subset *G, float x1, float y1,
  145.                                           float x2, float y2);
  146. extern int uplygn(struct G_user_subset *G, float x, float y,
  147.                                            float n, float r);
  148. extern int ucrcle(struct G_user_subset *G, float x, float y, float r);
  149. extern int uamenu(struct G_user_subset *G, int gwinmenu0,
  150.                   int gwinmenu1, int gwinmenu2, char* text,
  151.                   char comchr, int mutex, USHORT flags, int (*routine)() );
  152.  
  153. extern int upset(struct G_user_subset *G, char *text, float value);
  154. extern int uset(struct G_user_subset *G, char *text);
  155. extern int usetrgb(struct G_user_subset *G, float colorindex,
  156.                    float redvalue, float greenvalue, float bluevalue);
  157. extern int ugetrgb(struct G_user_subset *G, float colorindex,
  158.                    float *redvalue, float *greenvalue, float *bluevalue);
  159. extern int ugetstring(struct G_user_subset *G, float x1, float y1,
  160.                       float width, char *text, char *prompt);
  161. extern int ufont(struct G_user_subset *G, char *name, float size);
  162. extern int uprint(struct G_user_subset *G, float x, float y, char *line);
  163. extern int uprnt1(struct G_user_subset *G, char *option, char *line);
  164.  
  165. extern int uprscr(struct G_user_subset *G);
  166. extern int usetcleanup(struct G_user_subset *G, int (*cleanup_routine)() );
  167. extern int uend(struct G_user_subset *G);
  168.  
  169.  
  170. /*******************************************************/
  171. /*                                                     */
  172. /* PRAGMAS                                             */
  173. /*                                                     */
  174. /*******************************************************/
  175.  
  176. /*------ normal functions ---------------------------------------------*/
  177. #pragma libcall GWINBase ustart 1E 3210805
  178. #pragma libcall GWINBase udarea 24 3210805
  179. #pragma libcall GWINBase uwindo 2A 3210805
  180. #pragma libcall GWINBase uoutln 30 801
  181. #pragma libcall GWINBase uerase 36 801
  182. #pragma libcall GWINBase uflush 3C 801
  183. #pragma libcall GWINBase uwhere 42 A9803
  184. #pragma libcall GWINBase uadjust 48 A910805
  185. #pragma libcall GWINBase urotate 4E 210804
  186. #pragma libcall GWINBase ugrin 54 A9803
  187. #pragma libcall GWINBase ugrinc 5A BA9804
  188. #pragma libcall GWINBase ugrinl 60 BA9804
  189. #pragma libcall GWINBase ugrina 66 BA9804
  190. #pragma libcall GWINBase uigrina 6C BA9804
  191. #pragma libcall GWINBase uyorn 72 10BA9806
  192. #pragma libcall GWINBase uimove 78 10803
  193. #pragma libcall GWINBase uidraw 7E 10803
  194. #pragma libcall GWINBase umove 84 10803
  195. #pragma libcall GWINBase udraw 8A 10803
  196. #pragma libcall GWINBase urect 90 3210805
  197. #pragma libcall GWINBase uplygn 96 3210805
  198. #pragma libcall GWINBase ucrcle 9C 210804
  199. #pragma libcall GWINBase uamenu A2 A5439210809
  200. #pragma libcall GWINBase upset A8 09803
  201. #pragma libcall GWINBase uset AE 9802
  202. #pragma libcall GWINBase usetrgb B4 3210805
  203. #pragma libcall GWINBase ugetrgb BA BA90805
  204. #pragma libcall GWINBase ugetstring C0 A9210806
  205. #pragma libcall GWINBase ufont C6 9803
  206. #pragma libcall GWINBase uprint CC 910804
  207. #pragma libcall GWINBase uprnt1 D2 A9803
  208. #pragma libcall GWINBase uprscr D8 801
  209. #pragma libcall GWINBase usetcleanup DE 9802
  210. #pragma libcall GWINBase uend E4 801
  211. #pragma libcall GWINBase uzvtodconv EA BA910807
  212. #pragma libcall GWINBase uzdtovconv F0 A910805
  213.  
  214.